package com.hst.capacity.infra.persistence.jpa;

import com.hst.capacity.domain.model.entity.auth.UserEntity;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.repository.CrudRepository;

import java.util.List;

public interface UserRepository extends CrudRepository<UserEntity, String> {

    /**
     * 按用户名查找用户
     *
     * @param username 用户名
     * @return UserEntity
     */
    UserEntity findUserEntityByUsername(String username);

    /**
     * 按查找用户
     *
     * @param mobile 手机号
     * @return List<UserEntity>
     */
    List<UserEntity> findByMobile(String mobile);

    /**
     * 按用户名模糊查找
     *
     * @param username 用户名
     * @param pageable 分页
     * @return Page<UserEntity>
     */
    Page<UserEntity> findByUsernameLike(String username, Pageable pageable);

}
